package hp.com.dao;

import hp.com.entity.OrderDetail;
import hp.com.entity.Orders;

import java.sql.SQLException;
import java.util.List;

public interface OrdersDAO {

    /**
     * 通过订单号查询产品详细信息
     * @param serial
     * @return
     * @throws Exception
     */
    List<OrderDetail> GetOrderDetailsByOrder(String serial) throws Exception;

    /**
     * 通过用户ID查询该用户的订单。
     * @param id
     * @return
     * @throws Exception
     */
    List<Orders> GetOrdersByUserId(int id) throws Exception;

    /**
     * 将订单数据上传至数据库
     * @param order
     * @throws Exception
     */
    void DoInsertOrder(Orders order) throws Exception;

    /**
     * 查询该订单一共的商品数（多个商品算同一商品）
     * @param id 订单ID
     * @return 商品数
     * @throws Exception
     */
    int CountOrderById(String id) throws Exception;

    /**
     * 通过状态代码查询订单当前付款状态
     * @return
     */
    String getStatsTextByStat(int code);

    /**
     * 通过状态代码查询商品运输状态
     * @param code 代码
     * @return
     */
    String getShipTextByStat(int code);

    /**
     * 通过订单号获取订单
     * @param serial
     * @return
     * @throws Exception
     */
    Orders getOrderBySerial(String serial) throws Exception;

}
